home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Sample Code / Newton Sample Code 1.2 / Utility Functions / Wally Math-2 / WallyMath.text < prev    next >
Encoding:
Text File  |  1994-02-28  |  1.9 KB  |  82 lines  |  [TEXT/MPS ]

  1. // Copyright © 1993-94 Apple Computer, Inc. All rights reserved.
  2.  
  3. constant kAppSymbol := '|WallyMath:PIEDTS|;
  4.  
  5. // ---- End Project Data ----
  6.  
  7.  
  8. // ---- File WallyMath.t ----
  9. wmApp :=
  10.    {title: "WallyMath",
  11.     viewBounds: {left: -3, top: 34, right: 210, bottom: 199},
  12.     _proto: protoApp,
  13.     debug: "wmApp"
  14.    };
  15.  
  16. wmMathInput := /* child of wmApp */
  17.    {viewFlags: 133649,
  18.     viewFormat: 337,
  19.     viewlinespacing: 16,
  20.     viewFont: simpleFont12,
  21.     viewBounds: {left: 43, top: 67, right: 193, bottom: 97},
  22.     lastText: "2 + 2 ="
  23.     ,
  24.     xFunc:
  25.       func()
  26.       begin
  27.         self.text;
  28.       end,
  29.     viewChangedScript:
  30.       func(slot, view)
  31.       begin
  32.         if (slot = 'text) then
  33.           if EndsWith(self.text, "=") then
  34.           begin
  35.             try
  36.                 self.xfunc := Compile(SubStr(self.text, 0, StrLen(self.text) - 1));
  37.         
  38.             onexception |evt.ex| do  //This should actually also catch div 0 but doesn't
  39.             begin
  40.                local e;
  41.                e := CurrentException();
  42.                Print("Error compiling xFunc...");
  43.                :SysBeep();
  44.                self.lastText := Clone(self.text);
  45.                return;
  46.             end;
  47.       
  48.             try  
  49.                self.text := NumberStr(Clone(self:xfunc()));
  50.             onexception |evt.ex| do
  51.             begin
  52.                local e;
  53.                e := CurrentException();
  54.                Print("Error calling xFunc...");
  55.                :SysBeep();
  56.             end;
  57.       
  58.             self.lastText := Clone(self.text);
  59.          end;
  60.       end,
  61.     viewclass: 81,
  62.     debug: "wmMathInput"
  63.    };
  64. // View wmMathInput is declared to wmApp
  65.  
  66.  
  67.  
  68. _view000 := /* child of wmApp */
  69.    {text: "Expression:",
  70.     viewBounds: {left: 50, top: 50, right: 122, bottom: 66},
  71.     _proto: protoStaticText
  72.    };
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. // ---- Beginning of section for non used Layout files ----
  81.  
  82. // End of output